﻿#define _CRT_SECURE_NO_WARNINGS 1

////字符串最后一个单词的长度
////描述
////计算字符串最后一个单词的长度，单词以空格隔开，字符串长度小于5000。（注：字符串末尾不以空格为结尾）
////输入描述：
////输入一行，代表要计算的字符串，非空，长度小于5000。
////
////输出描述：
////输出一个整数，表示输入字符串最后一个单词的长度。
////
////示例1
////输入：hello nowcoder
////输出：8
////说明：
////最后一个单词为nowcoder，长度为8
//
//#include<stdio.h>
//#include<string.h>
//int main()
//{
//    char arr[5000] = "";
//    gets(arr);
//    int len = strlen(arr);
//    int count = 0;
//    for (int i = len - 1; i >= 0; i--)
//    {
//        if (arr[i] == ' ')
//            break;
//        count++;
//    }
//    printf("%d", count);
//    return 0;
//}











////计算某字符出现次数
////描述
////写出一个程序，接受一个由字母、数字和空格组成的字符串，和一个字符，然后输出输入字符串中该字符的出现次数。（不区分大小写字母）
////输入描述：
////第一行输入一个由字母和数字以及空格组成的字符串，第二行输入一个字符。
////输出描述：
////输出输入字符串中含有该字符的个数。（不区分大小写字母）
////
////示例1
////输入：ABCabc
////      A
////输出：2
//
//#include<stdio.h>
//#include<string.h>
//int main()
//{
//    char arr[1001] = "";
//    char k = 0;
//
//    gets(arr);
//    scanf("%c", &k);
//
//    int sz = strlen(arr);
//    int count = 0;
//    for (int i = 0; i < sz; i++)
//    {
//        if (arr[i] == k)
//            count++;
//        else if ((k >= 'A') && (k <= 'Z') && (arr[i] == k + 32))
//            count++;
//        else if ((k >= 'a') && (k <= 'z') && (arr[i] == k - 32))
//            count++;
//    }
//    printf("%d", count);
//    return 0;
//}













////字符串分隔
////描述
////•输入一个字符串，请按长度为8拆分每个输入字符串并进行输出；
////•长度不是8整数倍的字符串请在后面补数字0，空字符串不处理。
////输入描述：
////连续输入字符串(每个字符串长度小于等于100)
////输出描述：
////依次输出所有分割后的长度为8的新字符串
////
////示例1
////输入：abc
////输出：abc00000
//
//#include<string.h>
//#include<stdio.h>
//int main()
//{
//    char arr[100] = "";
//    gets(arr);
//    int len = strlen(arr);
//    if (len <= 8)
//    {
//        for (int i = 0; i < 8; i++)
//        {
//            if (i < len)
//                printf("%c", arr[i]);
//            else
//                printf("0");
//        }
//    }
//    else
//    {
//        if (len % 8 == 0)
//        {
//            for (int i = 0; i < len; i++)
//            {
//                printf("%c", arr[i]);
//                if ((i + 1) % 8 == 0)
//                    printf("\n");
//            }
//        }
//        else
//        {
//            for (int i = 0; i < len - (len % 8); i++)
//            {
//                printf("%c", arr[i]);
//                if ((i + 1) % 8 == 0)
//                    printf("\n");
//            }
//            for (int i = len - (len % 8); i < len; i++)
//                printf("%c", arr[i]);
//            for (int i = 0; i < (8 - len % 8); i++)
//                printf("0");
//        }
//    }
//}














////进制转换
////描述
////写出一个程序，接受一个十六进制的数，输出该数值的十进制表示。
////输入描述：
////输入一个十六进制的数值字符串。
////输出描述：
////输出该数值的十进制字符串。不同组的测试用例用\n隔开。
////
////示例1
////输入：0xAA
////输出：170
//
//#include<stdio.h>
//int main()
//{
//    int n = 0;
//    while (scanf("%x", &n) != EOF)
//    {
//        printf("%d", n);
//    }
//    return 0;
//}












////字符逆序
////描述
////将一个字符串str的内容颠倒过来，并输出。
////
////输入描述：
////输入一个字符串，可以有空格
////
////输出描述：
////输出逆序的字符串
////
////示例1
////输入：I am a student
////输出：tneduts a ma I
////
////示例2
////输入：nowcoder
////输出：redocwon
//
//#include<stdio.h>
//#include<string.h>
//void reverse(char arr[], int len)
//{
//    int left = 0;
//    int right = len - 1;
//    while (left <= right)
//    {
//        char temp = arr[left];
//        arr[left] = arr[right];
//        arr[right] = temp;
//        left++;
//        right--;
//    }
//}
//int main()
//{
//    char arr[10000] = "";
//    gets(arr);
//    int len = strlen(arr);
//    reverse(arr, len);
//    printf("%s", arr);
//    return 0;
//}








